/**
 * 车辆相关API调用
 * 提供获取车辆列表、搜索车辆等功能
 */

// 使用全局工具函数，避免ES6 import在浏览器中的兼容性问题
console.log('cars.js文件开始加载');
console.log('检查window.utils.api:', window.utils && window.utils.api);

// 确保window.api.cars对象存在
window.api = window.api || {};
window.api.cars = window.api.cars || {};

/**
 * 获取车辆列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码，默认为1
 * @param {number} params.pageSize - 每页数量，默认为10
 * @param {string} params.keyword - 搜索关键词
 * @param {string} params.status - 车辆状态（available, rented, maintenance等）
 * @returns {Promise} - 返回车辆列表数据
 */
window.api.cars.getCarList = async function(params = {}) {
    const defaultParams = {
        page: 1,
        pageSize: 10
    };
    
    const queryParams = {
        ...defaultParams,
        ...params
    };
    
    // 直接调用后端API，不使用模拟数据
    if (window.utils && window.utils.api && window.utils.api.get) {
        return await window.utils.api.get('/api/cars', queryParams);
    } else {
        console.error('未找到API工具函数');
        throw new Error('未找到API工具函数');
    }
};

/**
 * 获取车辆详情
 * @param {number} carId - 车辆ID
 * @returns {Promise} - 返回车辆详情数据
 */
window.api.cars.getCarDetail = async function(carId) {
    // 直接调用后端API，不使用模拟数据
    if (window.utils && window.utils.api && window.utils.api.get) {
        return await window.utils.api.get(`/api/cars/${carId}`);
    } else {
        console.error('未找到API工具函数');
        throw new Error('未找到API工具函数');
    }
};

/**
 * 搜索车辆
 * @param {string} keyword - 搜索关键词
 * @param {Object} options - 搜索选项
 * @returns {Promise} - 返回搜索结果
 */
window.api.cars.searchCars = async function(keyword, options = {}) {
    const params = {
        keyword,
        ...options
    };
    
    // 直接调用后端API，不使用模拟数据
    if (window.utils && window.utils.api && window.utils.api.get) {
        return await window.utils.api.get('/api/cars/search', params);
    } else {
        console.error('未找到API工具函数');
        throw new Error('未找到API工具函数');
    }
};

console.log('cars.js文件加载完成，API函数已挂载到window.api.cars:', window.api.cars);